How to Make (Almost) Anything
MAS 863 2010
Week 6: microcontroller programming.
assignment
read the ATtiny44 data sheet
add a button and LED to the serial echo hello-world board
program them to do something
so i started by indeed reading the data sheet of ATtiny44. well, i began with the summarized 22 page version. and it is amazing how much information is provided on the data sheet. it makes it so much easier to write codes as well as physically embed the individual components on circuit boards.
designing a circuit board
using a free version of EAGLE we populated a circuit board with ATtiny44 microprocessor, a switch, an RGB LED, a 1uf capacitor, 10k resistor, resistors, an AVR ISP SMD, a resonator, a 6 pin jumper (FTDI cable). below is the final image of the board layout which was exported in this format using this tuorial.
machining and populating the circuit board
this was almost too smooth to believe. here is a tutorial on how to make circuits using the Modela milling machine. after exporting the board below, it took less than 20 minutes on the modella.
note that i generated the file twice because even after passing the test on eagle, when i used "path view", my traces were too close to certain components on the corners. i had to rearrange my traces again in all the places that seem to be problematic in the image generated on the cad.py.
and after milling, soldering went pretty well too. smooth and shiny.
programing using my fabisp designed in week 2
i went to the earlier session on programing and since my board was not done yet, we used a breadboard which contained a microprossesor, a red LED, a pull up resistor and a switch. i was able to program the microprossesor using my fab isp, and then made the LED to work with the switch.
programing the newly designed board.
i began by testing Neil's program on my board. after successfully programing
it, i then moved on to tweaking the code to see how it would work. i changed the printf output in the code to get this below.
finally, i had to made my led work with my switch given that everything else does. after trying really hard on friday without success, i town. i am not sure what happened but it could be that the RGB LED which i had was faulty because there seemed to be power everywhere.